Service-Oriented Architecture (SOA) is a computer systems architectural style that creates and uses business processes, packaged as services, throughout the business process lifecycle. SOA defines and provisions an Information Technology (IT) infrastructure to enable different applications to exchange data and participate in business processes, functions that are loosely-coupled with the operating systems and programming languages underlying the applications. SOA separates functions into distinct units (services), which can be distributed over a network and can be combined and reused to create business applications. Services intercommunicate by passing data or by coordinating an activity between two or more services.
SOAs are used to implement information technology (IT) support for business processes that cover present and prospective systems requirements for running a business end-to-end. SOA is a flexible, standardized architecture that improves support for connection of various applications and data sharing, unifying business processes by structuring large applications as an associated collection of smaller modules called services. Applications can be used by different groups both inside and outside of an organization. New applications can be constructed from a mix of services from a global pool enabling greater flexibility and uniformity.